# -*- coding: utf-8 -*-
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者：cacho_37967865
#博客：https://blog.csdn.net/sinat_37967865
#文件：hmac_model.py
#日期：2019-11-28
#备注：hmac模块中的多种加解密方法 hmac.new(key, msg=None, digestmod=None)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

import hmac

print(hmac._openssl_md_meths)    # 所有支持的算法名

# hmac.new(key, msg=None, digestmod=None)
# key--加密用的盐值
# msg--要加密码的内容，可为空而后用update方法设置(使用+=，连续多次update表示在原先内容上追加而不是替换；注意所谓的+=是msg之间的+=)
# digestmod--加密算法，默认为md5
def way_one():
    m = hmac.new(b"123",digestmod="sha1")
    m.update(b"123456")
    token = m.hexdigest()        # 字符串：以十六进制字符串形式输出
    print(token)


def way_two():
    m = hmac.new(b"123",b"123456",digestmod="sha1")
    token = m.hexdigest()        # 字符串：以十六进制字符串形式输出
    print(token)


if __name__ == '__main__':
    way_one()
    way_two()

